package dependency

import (
	"gluenet/internal/glue-srvp/domain/entity"
	"gluenet/internal/pkg/infra"
)

type TagMetaRepo interface {
	MetaRepo
	AddTag(obj *entity.Tag, auth infra.AuthInfo) error
	DelTag(obj *entity.Tag, auth infra.AuthInfo) error
	UptTag(obj *entity.Tag, auth infra.AuthInfo) error
	FindTag(obj *[]entity.Tag, auth infra.AuthInfo, query interface{}, args ...interface{}) error
	FindTagDetail(obj *[]entity.TagDetail, auth infra.AuthInfo, query interface{}, args ...interface{}) error
	FindObjs(obj interface{}, query interface{}, args ...interface{}) error
	//FindObjInstance(obj *[]entity.Instance, query interface{}, args ...interface{}) error
	//FindObjConfig(obj *[]entity.Config, query interface{}, args ...interface{}) error

	AddGroup(obj *entity.TagGroup, auth infra.AuthInfo) error
	DelGroup(obj *entity.TagGroup, auth infra.AuthInfo) error
	UptGroup(obj *entity.TagGroup, auth infra.AuthInfo) error
	FindGroup(obj *[]entity.TagGroup, auth infra.AuthInfo, query interface{}, args ...interface{}) error
}
